package com.cskaoyan.javase.oop1._7bigexercise._1pvz;

/**
 * @description: 用面向对象程序模拟植物大战僵尸
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 用面向对象的思想模拟植物大战僵尸
 * 植物类
 * 僵尸类
 *
 * 对象之间如果需要交互，可以考虑持有对方的引用作为成员变量
 * 实际开发中会有框架创建和管理对象,不会存在谁先创建谁后创建的问题
 *
 */
//这是一个测试类
public class Test {
    public static void main(String[] args) {
        //创建植物类对象和僵尸类对象，进行测试
        Plant p = new Plant("豌豆射手", 1000, 400, 100);
        Zombie z = new Zombie("铁桶僵尸", 4000, 200, 100);
        //赋值---互相持有引用(地址)
        p.pZombie = z;
        z.zPlant = p;

        System.out.println("Game Start~");
        z.run();
        p.attack();
        z.beAttacked();
        z.run();

        z.attack();
        p.beAttacked();

        System.out.println("-------------------");
        z.eat();
        System.out.println("Game Over~");

    }
}
